using System;
using System.Collections.Generic;
using System.Text;
using SharksHunter.TransferObjects.Model;

namespace SharksHunter.Service.Interfaces
{
    public interface IHunterCollectionService : IFetchTranferObject
    {
        #region COLLECTION
        SharksHunter.Domain.Model.Collection[] GetAvailableCollection();
        SharksHunter.Domain.Model.Collection OpenCollection(SharksHunter.TransferObjects.Presentation.IParamProvider pprov);
        SharksHunter.Domain.Model.Collection NewCollection(SharksHunter.TransferObjects.Presentation.IParamProvider pprov);
        IList<SharksHunter.Domain.Model.Collection> CollectionList
        {
            get;
        }
        SharksHunter.Domain.Model.Collection SwitchToCollection(string name);
        void SaveCollection();
        SharksHunter.Domain.Model.Collection CurrentCollection
        {
            get;
        }
        #endregion

        #region ENTITY
        SharksHunter.Domain.Model.Entity NewEntity(string name, SharksHunter.Service.Interfaces.IScanner<ItemTO> scanner);
        #endregion

        #region ENUMERABLE
        List<SharksHunter.TransferObjects.Model.HuntInfo> GetHuntInfo();
        #endregion


    }
}
